/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.foxline.clinicplus.manager;

import br.com.foxline.clinicplus.entity.Banco;
import br.com.foxline.clinicplus.entity.ContaBancaria;
import br.com.foxline.clinicplus.service.BancoServico;
import br.com.foxline.clinicplus.service.ContaBancariaServico;
import br.com.foxline.clinicplus.util.Msg;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.SelectItem;

/**
 *
 * @author roniere
 */
@ManagedBean
@ViewScoped
public class ManagerContaBancaria implements Serializable {

    @EJB
    private ContaBancariaServico contaBancariaServico;
    @EJB
    private BancoServico bancoServico;
    private ContaBancaria contaBancaria;
    private Banco banco;

    @PostConstruct
    private void init() {
        this.contaBancaria = new ContaBancaria();
    }

    public void salvar() {
        try {
            if (contaBancaria != null) {
                contaBancaria.setBanco(banco);
                if (contaBancaria.getId() == null) {
                    contaBancaria.setStatus(true);
                    contaBancariaServico.save(contaBancaria);
                } else {
                    contaBancariaServico.update(contaBancaria);
                }
            }
            Msg.messagemInfo();

        } catch (Exception e) {
            Msg.messagemError();
            e.printStackTrace();
        }
    }

    public List<Banco> autocompleteBanco(String str) {
        return bancoServico.autocomplete(str);
    }

    public ContaBancaria getContaBancaria() {
        return contaBancaria;
    }

    public void setContaBancaria(ContaBancaria contaBancaria) {
        this.contaBancaria = contaBancaria;
    }

    public Banco getBanco() {
        return banco;
    }

    public void setBanco(Banco banco) {
        this.banco = banco;
    }
}
